1. Field of the Invention
Embodiments of the present invention generally relate to satellite position location systems and, more particularly, to a method and apparatus for providing a secure user plane location (SUPL) service to provide global assistance information to a location enabled device.
2. Description of the Related Art
Global Positioning System (GPS) receivers use measurements from several satellites to compute position. GPS receivers normally determine their position by computing time delays between transmission and reception of signals transmitted from satellites and received by the receiver on or near the surface of the earth. The time delay multiplied by the speed of light provides the distance from the receiver to each of the satellites that are in view of the receiver. More specifically, each GPS signal available for commercial use utilizes a direct sequence spreading signal defined by a unique pseudorandom noise (PN) code (referred to as the course acquisition (C/A) code), having a 1.023 MHz spread rate. Each PN code bi-phase modulates a 1575.42 MHz carrier signal (referred to as the L1 carrier), and uniquely identifies a particular satellite. The PN code sequence length is 1,023 chips, corresponding to a one millisecond time period. One cycle of 1,023 chips is called a PN frame or epoch.
GPS receivers determine the time delays between the transmission and the reception of the signals by comparing time shifts between the received PN code signal sequence and the internally generated PN signal sequences. These measured time delays are referred to as sub-millisecond pseudoranges, since they are known modulo the one-millisecond PN frame boundaries. By resolving the integer number of milliseconds associated with each delay to each satellite, then true, unambiguous pseudoranges are determined. A set of four pseudoranges together with knowledge of absolute time of transmission of the GPS signals and satellite positions in relation to these absolute times is sufficient to solve for the position of the GPS receiver. The absolute times of transmission (or reception) are needed in order to determine the positions of the GPS satellites at the times of transmissions, and hence to compute the position of the GPS receiver. The satellite positions may be obtained from satellite trajectory data broadcast by the satellites, referred to as ephemeris.
In some GPS applications, the signal strengths of the satellite signals are so low that either the received signals cannot be processed, or the time required to process the signals is excessive. As such, to improve the signal processing, a GPS receiver may receive assistance data from a network to assist in satellite signal acquisition and/or processing. For example, the GPS receiver may be integrated within a cellular telephone and may receive the assistance data from the server using a wireless communications network. This technique of providing assistance data to a remote receiver has become known as “assisted-GPS,” or A-GPS.
The assistance data that is provided is, in part, the orbits of the satellites that are in view of the receiver. For the server that provides the assistance data to know which satellite orbits are to be sent to the A-GPS receiver, the assistance data server must know an approximate position of the A-GPS receiver. From this position estimate, the A-GPS assistance server can compute which satellites are in view at the particular time of the request to the A-GPS receiver, and send the orbits of those particular satellites. These orbits can be used by the A-GPS receiver to narrow the search window for satellite signal and improve the sensitivity of the A-GPS receiver such that the receiver is able to receive signals at very low signal strengths.
Typically, if the A-GPS receiver is embedded in a cellular telephone, when the cellular telephone contacts the cellular network via a cell tower, the cell tower is associated with a cell ID that identifies a particular cell within a network. The cell ID can be used by a secure user plane location (SUPL) service center (referred to as an SLC) to compute an estimated position of the cellular telephone. Generally, the cell ID of the cell being used is applied to a database of cell IDs for towers within a network. The database correlates the geographic positions of the cells with the cell IDs. As such, when given a cell ID, the database can provide a geographic position of a tower that services that cell. The position of the tower can be used as an estimate of the cell phone's position. Using this position estimate, the SLC may send GPS assistance data to the cellular phone that is relevant to the approximate position of the cellular telephone, i.e., such assistance data may include timing and satellite ephemeris for satellites that are in view of the cellular telephone at the estimated position.
When a person purchases a cellular telephone or other mobile device that uses the cellular telephone network for data and/or communications services, the device is assigned to a particular network as their “home” network. While operating in this home network, it is guaranteed that the SLC supplying assistance data to the home network understands the cell IDs that are supplied by the cellular system, such that the SLC can determine the estimated position of the cellular telephone. Generally, the cell ID database and estimated position information is contained within the SLC. The SLC uses a secure user plane location (SUPL) service to distribute information to a home network region of a cellular customer.
The SUPL standard, “Secure User Plane Location Requirements,” version 1.0, July 2005, published by the Open Mobile Alliance, specifies the protocols used for communicating between the SLC and the cell phone. A third party may request a cellular telephone identify its location, or the cellular telephone may request its own position be calculated. For a third party to request a location, a SUPL enabled terminal (SET) (i.e., a mobile device (such as a cellular telephone) that is equipped to utilize SUPL services) is initially contacted by the third party through either a short message service (SMS) communication or a Wireless Application Protocol (WAP) Push Access Protocol (PAP)-based communication. If the SET requires assistance data to compute a location, the SET contacts the SLC via a TCP/IP message addressed to the Uniform Resource Locator (URL) of the SLC. Once the SUPL service is initiated such that the SET is assigned a dynamic TCP/IP address, TCP/IP-based messages can be exchanged with the SLC such that assistance data can be provided to the SET.
In a typical system, the SLC for a network region contains a reference GPS receiver for receiving satellite signals and decoding the signals to determine satellite ephemeris for each satellite in view of the SLC's reference GPS receiver. The SET (cell phone) that is serviced by the cell towers within the network region serviced by the SLC will “see” some or all of the satellites that are in view of the SLC's reference GPS receiver. From the received GPS satellite signals, the SLC creates and distributes TCP/IP messages containing GPS assistance data. As such, the assistance data is accurate for SET's that are within the SLC's region, i.e., accurate only for the SET's that see the same satellites as seen by the SLC's reference GPS receiver. The SET uses the assistance data as discussed above to enhance the sensitivity of the SET's GPS receiver and/or to improve the speed at which satellite signal acquisition may occur.
Although the distribution of assistance data via SUPL service in a home network operates very well; however, when that cellular customer roams into a non-home network (i.e., a roaming network), they may experience difficulty receiving an estimated position and assistance data. Under the SUPL standard, the SET contacts the home SLC for a position estimate based on the current cell ID and also requests assistance data from the home SLC. The SUPL standard defines a process by which the home SLC can request a position estimate from a local SLC (i.e., the roaming network SLC). However, an SLC may not exist in the roaming network or the SLC in the roaming network may not have the capability of providing a position estimate based on the cell ID. Lastly, the assistance data provided by the home SLC may not be accurate for the SET in the roaming network, i.e., the satellites that are in view in the home network may not be the same satellites that are in view in the roaming network. As such, location based services may not function in the roaming networks.
Therefore, there is a need in the art to ensure that a cellular subscriber that roams from their home network is provided with a position estimate, accurate assistance data, or other information such that their mobile device can compute a position accurately and with high sensitivity.